package com.so206.po;

import java.io.Serializable;
import java.util.Date;

public class SystemDomain implements Serializable {
    private Long id;

    /**
    * 查询的域名
    */
    private String domain;

    /**
    * 备案性质，个人 or 企业
    */
    private String nature;

    /**
    * 主备案号
    */
    private String icp;

    /**
    * 首页地址
    */
    private String indexUrl;

    /**
    * 备案的名称
    */
    private String sitename;

    /**
    * 当前域名的备案号
    */
    private String nowIcp;

    /**
    * 个人是备案人名称，公司是公司名称
    */
    private String name1;

    /**
    * 是否备案:1.未备案,2.已备案
    */
    private Integer status;

    /**
    * 域名搜索
    */
    private String serach;

    /**
    * 最后操作时间
    */
    private Date optTime;

    /**
    * 用户id
    */
    private Long uid;

    /**
    * 支付时显示提示信息:0.不显示,1.显示
    */
    private Integer payShowInfo;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getNature() {
        return nature;
    }

    public void setNature(String nature) {
        this.nature = nature;
    }

    public String getIcp() {
        return icp;
    }

    public void setIcp(String icp) {
        this.icp = icp;
    }

    public String getIndexUrl() {
        return indexUrl;
    }

    public void setIndexUrl(String indexUrl) {
        this.indexUrl = indexUrl;
    }

    public String getSitename() {
        return sitename;
    }

    public void setSitename(String sitename) {
        this.sitename = sitename;
    }

    public String getNowIcp() {
        return nowIcp;
    }

    public void setNowIcp(String nowIcp) {
        this.nowIcp = nowIcp;
    }

    public String getName1() {
        return name1;
    }

    public void setName1(String name1) {
        this.name1 = name1;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getSerach() {
        return serach;
    }

    public void setSerach(String serach) {
        this.serach = serach;
    }

    public Date getOptTime() {
        return optTime;
    }

    public void setOptTime(Date optTime) {
        this.optTime = optTime;
    }

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public Integer getPayShowInfo() {
        return payShowInfo;
    }

    public void setPayShowInfo(Integer payShowInfo) {
        this.payShowInfo = payShowInfo;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", domain=").append(domain);
        sb.append(", nature=").append(nature);
        sb.append(", icp=").append(icp);
        sb.append(", indexUrl=").append(indexUrl);
        sb.append(", sitename=").append(sitename);
        sb.append(", nowIcp=").append(nowIcp);
        sb.append(", name1=").append(name1);
        sb.append(", status=").append(status);
        sb.append(", serach=").append(serach);
        sb.append(", optTime=").append(optTime);
        sb.append(", uid=").append(uid);
        sb.append(", payShowInfo=").append(payShowInfo);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SystemDomain other = (SystemDomain) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getDomain() == null ? other.getDomain() == null : this.getDomain().equals(other.getDomain()))
            && (this.getNature() == null ? other.getNature() == null : this.getNature().equals(other.getNature()))
            && (this.getIcp() == null ? other.getIcp() == null : this.getIcp().equals(other.getIcp()))
            && (this.getIndexUrl() == null ? other.getIndexUrl() == null : this.getIndexUrl().equals(other.getIndexUrl()))
            && (this.getSitename() == null ? other.getSitename() == null : this.getSitename().equals(other.getSitename()))
            && (this.getNowIcp() == null ? other.getNowIcp() == null : this.getNowIcp().equals(other.getNowIcp()))
            && (this.getName1() == null ? other.getName1() == null : this.getName1().equals(other.getName1()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getSerach() == null ? other.getSerach() == null : this.getSerach().equals(other.getSerach()))
            && (this.getOptTime() == null ? other.getOptTime() == null : this.getOptTime().equals(other.getOptTime()))
            && (this.getUid() == null ? other.getUid() == null : this.getUid().equals(other.getUid()))
            && (this.getPayShowInfo() == null ? other.getPayShowInfo() == null : this.getPayShowInfo().equals(other.getPayShowInfo()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getDomain() == null) ? 0 : getDomain().hashCode());
        result = prime * result + ((getNature() == null) ? 0 : getNature().hashCode());
        result = prime * result + ((getIcp() == null) ? 0 : getIcp().hashCode());
        result = prime * result + ((getIndexUrl() == null) ? 0 : getIndexUrl().hashCode());
        result = prime * result + ((getSitename() == null) ? 0 : getSitename().hashCode());
        result = prime * result + ((getNowIcp() == null) ? 0 : getNowIcp().hashCode());
        result = prime * result + ((getName1() == null) ? 0 : getName1().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getSerach() == null) ? 0 : getSerach().hashCode());
        result = prime * result + ((getOptTime() == null) ? 0 : getOptTime().hashCode());
        result = prime * result + ((getUid() == null) ? 0 : getUid().hashCode());
        result = prime * result + ((getPayShowInfo() == null) ? 0 : getPayShowInfo().hashCode());
        return result;
    }
}